// 如果字符串A在字符串B中出现，且A中字符的相对顺序与在B中一样，则称A为B的子集
// 现给定字符串B，以及限定的子集字符串的长度，求符合该长度的子集字符串A的数量
// 输入：字符串B，子集字符串长度
// 输出：满足条件的字符串A的数量

import java.util.HashSet;
        import java.util.Scanner;
        import java.util.Set;


public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String[] input=sc.nextLine().split(",");
        String B=input[0];
        int lenB=B.length();
        Set<Character> set=new HashSet<>();
        boolean flag=false;
        for(char c : B.toCharArray()){
            if(set.contains(c)) flag=true;
            else set.add(c);
        }
        //排除一些不合法的输入，要求字符串A、B内都没有重复字符串，B的长度在(0,52]之间
        if(flag || lenB<=0 || lenB>52 || input.length>2){
            System.out.println(0);
        }
        else{
            //输入合法，开始处理
            int lenA=Integer.valueOf(input[input.length-1]);
            System.out.println(cnk(lenB,lenA));
        }

    }
    private static int cnk(int n,int k){
        int res=1;
        //这里实际就是在算C(n,k)=(n!)/(n-k)!(k)!
        for(int i=1;i<=k;i++){
            res*=(n-i+1);
            res/=i;
        }
        return res;
    }
}